package com.pet.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;

/**
 * 流浪动物信息表
 * @TableName pet_animal
 */
@TableName(value ="pet_animal")
@Data
public class PetAnimal implements Serializable {
    /**
     * 
     */
    @TableId(value = "animal_id", type = IdType.AUTO)
    private Integer animal_id;

    /**
     * 动物名字
     */
    @TableField(value = "animal_nickname")
    private String animal_nickname;

    /**
     * 动物性别
     */
    @TableField(value = "animal_sex")
    private String animal_sex;

    /**
     * 种类
     */
    @TableField(value = "animal_type")
    private String animal_type;

    /**
     * 年龄
     */
    @TableField(value = "animal_age")
    private String animal_age;

    /**
     * 动物照片
     */
    @TableField(value = "animal_img")
    private String animal_img;

    /**
     * 活动范围
     */
    @TableField(value = "animal_address")
    private String animal_address;

    /**
     * 身体状态
     */
    @TableField(value = "animal_status")
    private String animal_status;

    /**
     * 是否绝育
     */
    @TableField(value = "animal_sterilization")
    private String animal_sterilization;

    /**
     * 疫苗接种
     */
    @TableField(value = "animal_vaccine")
    private String animal_vaccine;

    /**
     * 领养状态
     */
    @TableField(value = "animal_adopt")
    private String animal_adopt;

    /**
     * 其他描述
     */
    @TableField(value = "animal_information")
    private String animal_information;

    /**
     * 是否被领养
     */
    @TableField(value = "animal_is_adopt")
    private String animal_is_adopt;

    /**
     * 删除状态：0未删除，1已删除
     */
    @TableField(value = "animal_delete")
    private Integer animal_delete;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        PetAnimal other = (PetAnimal) that;
        return (this.getAnimal_id() == null ? other.getAnimal_id() == null : this.getAnimal_id().equals(other.getAnimal_id()))
            && (this.getAnimal_nickname() == null ? other.getAnimal_nickname() == null : this.getAnimal_nickname().equals(other.getAnimal_nickname()))
            && (this.getAnimal_sex() == null ? other.getAnimal_sex() == null : this.getAnimal_sex().equals(other.getAnimal_sex()))
            && (this.getAnimal_type() == null ? other.getAnimal_type() == null : this.getAnimal_type().equals(other.getAnimal_type()))
            && (this.getAnimal_age() == null ? other.getAnimal_age() == null : this.getAnimal_age().equals(other.getAnimal_age()))
            && (this.getAnimal_img() == null ? other.getAnimal_img() == null : this.getAnimal_img().equals(other.getAnimal_img()))
            && (this.getAnimal_address() == null ? other.getAnimal_address() == null : this.getAnimal_address().equals(other.getAnimal_address()))
            && (this.getAnimal_status() == null ? other.getAnimal_status() == null : this.getAnimal_status().equals(other.getAnimal_status()))
            && (this.getAnimal_sterilization() == null ? other.getAnimal_sterilization() == null : this.getAnimal_sterilization().equals(other.getAnimal_sterilization()))
            && (this.getAnimal_vaccine() == null ? other.getAnimal_vaccine() == null : this.getAnimal_vaccine().equals(other.getAnimal_vaccine()))
            && (this.getAnimal_adopt() == null ? other.getAnimal_adopt() == null : this.getAnimal_adopt().equals(other.getAnimal_adopt()))
            && (this.getAnimal_information() == null ? other.getAnimal_information() == null : this.getAnimal_information().equals(other.getAnimal_information()))
            && (this.getAnimal_is_adopt() == null ? other.getAnimal_is_adopt() == null : this.getAnimal_is_adopt().equals(other.getAnimal_is_adopt()))
            && (this.getAnimal_delete() == null ? other.getAnimal_delete() == null : this.getAnimal_delete().equals(other.getAnimal_delete()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getAnimal_id() == null) ? 0 : getAnimal_id().hashCode());
        result = prime * result + ((getAnimal_nickname() == null) ? 0 : getAnimal_nickname().hashCode());
        result = prime * result + ((getAnimal_sex() == null) ? 0 : getAnimal_sex().hashCode());
        result = prime * result + ((getAnimal_type() == null) ? 0 : getAnimal_type().hashCode());
        result = prime * result + ((getAnimal_age() == null) ? 0 : getAnimal_age().hashCode());
        result = prime * result + ((getAnimal_img() == null) ? 0 : getAnimal_img().hashCode());
        result = prime * result + ((getAnimal_address() == null) ? 0 : getAnimal_address().hashCode());
        result = prime * result + ((getAnimal_status() == null) ? 0 : getAnimal_status().hashCode());
        result = prime * result + ((getAnimal_sterilization() == null) ? 0 : getAnimal_sterilization().hashCode());
        result = prime * result + ((getAnimal_vaccine() == null) ? 0 : getAnimal_vaccine().hashCode());
        result = prime * result + ((getAnimal_adopt() == null) ? 0 : getAnimal_adopt().hashCode());
        result = prime * result + ((getAnimal_information() == null) ? 0 : getAnimal_information().hashCode());
        result = prime * result + ((getAnimal_is_adopt() == null) ? 0 : getAnimal_is_adopt().hashCode());
        result = prime * result + ((getAnimal_delete() == null) ? 0 : getAnimal_delete().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", animal_id=").append(animal_id);
        sb.append(", animal_nickname=").append(animal_nickname);
        sb.append(", animal_sex=").append(animal_sex);
        sb.append(", animal_type=").append(animal_type);
        sb.append(", animal_age=").append(animal_age);
        sb.append(", animal_img=").append(animal_img);
        sb.append(", animal_address=").append(animal_address);
        sb.append(", animal_status=").append(animal_status);
        sb.append(", animal_sterilization=").append(animal_sterilization);
        sb.append(", animal_vaccine=").append(animal_vaccine);
        sb.append(", animal_adopt=").append(animal_adopt);
        sb.append(", animal_information=").append(animal_information);
        sb.append(", animal_is_adopt=").append(animal_is_adopt);
        sb.append(", animal_delete=").append(animal_delete);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}